/**
 * jIntefaces
 *
 * usage:
 *     var IMyInteface = jInterface({
 *            method1 : function() {},
 *            method2 : function(argument, argument) {},
 *            property : NaN,
 *            property : "",
 *            ...
 *     });
 */
window.jInterface = function(body) {
    for (var method in body) {
        if (typeof body[method] === 'function' && !jUtils.getBody(body[method]).match(/function[ ]{0,}\([a-zA-Z0-9$, ]{0,}\)[ ]{0,}\{[ ]{0,}\}/i)) {
           throw new Error("Interface must not implement a method body (" + method + ")");
        }
    }
    var interf = jUtils.handleStatics(body, undefined, true);

    interf._typeName = "jInterface";
    return interf;
};
jInterface.prototype = new jClassId("jInterface");